home *** CD-ROM | disk | FTP | other *** search
- // *** Subscribe/unsubscribe ***
- // there must be only database code and no networking
-
-
-
- // Subscribe user
- func i32x fnDBSubscribeUser(szx szLogin, szx szPassword, i32x _iTeamID)
- {
- var i32x iUserID,iManagerID;
-
- // Find unactive user in GAM_user
- iUserID = Join_FindKeyFromIntData(g_stJoins.m_iUser_iActive,0);
- if(iUserID>0)
- {
- // User is now active
- Join_SetIntFromKey(g_stJoins.m_iUser_iActive,iUserID,1);
-
- // Set user data
- Join_SetStringFromKey(g_stJoins.m_iUser_szLogin,iUserID,szLogin);
-
- // Set Team User ID (1 to 1 relation)
- Join_SetIntFromKey(g_stJoins.m_iUser_iTeamId,iUserID,_iTeamID);
- Join_SetIntFromKey(g_stJoins.m_iTeam_iUserId,_iTeamID,iUserID);
-
- Join_SetStringFromKey( g_stJoins.m_iUser_szPassword, iUserID, szPassword);
-
- // num registered
- Join_SetIntFromIndex( g_stJoins.m_iGame_iNumRegistered, 0, Join_GetIntFromIndex( g_stJoins.m_iGame_iNumRegistered, 0 ) + 1);
-
- println("Successfull Subscription.");
- }
- else
- {
- println("Subscription is impossible : no user available");
- }
-
- return iUserID;
- }
-
-
- // unsubscribe user
- func void fnDBUnsubscribeUser(i32x iUserID)
- {
- var Net_Client pClient;
- var i32x iTeamID;
- var szx szLogin;
-
- // get User info
- szLogin = Join_GetStringFromKey(g_stJoins.m_iUser_szLogin,iUserID);
- iTeamID = Join_GetIntFromKey(g_stJoins.m_iUser_iTeamId,iUserID);
-
- // User is no more active
- Join_SetIntFromKey(g_stJoins.m_iUser_iActive,iUserID,0);
-
- // Raz user data
- Join_SetStringFromKey(g_stJoins.m_iUser_szLogin,iUserID,"0");
-
- // Raz Team User ID (1 to 1 relation) this free the team
- Join_SetIntFromKey(g_stJoins.m_iUser_iTeamId,iUserID,0);
- Join_SetIntFromKey(g_stJoins.m_iTeam_iUserId,iTeamID,0);
-
- // num registered
- Join_SetIntFromIndex( g_stJoins.m_iGame_iNumRegistered, 0, Join_GetIntFromIndex( g_stJoins.m_iGame_iNumRegistered, 0 ) - 1);
-
- println("Successfull Unsubscription.");
- }
-
-
-
-
- // unsubscribe all users
- func void fnDBUnsubscribeAll()
- {
- var i32x i;
- var i32x iNumUsers, iUserID;
- i = 0;
- iNumUsers = Join_GetNumRows(g_stJoins.m_iUser_iID);
- while (i<iNumUsers)
- {
- if (Join_GetIntFromIndex(g_stJoins.m_iUser_iActive,i))
- {
- iUserID = Join_GetIntFromIndex(g_stJoins.m_iUser_iID, i);
- fnDBUnsubscribeUser(iUserID);
- }
- i = i+1;
- }
- }
-